/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * NewJFrame.java
 *
 * Created on 30/09/2010, 12:39:55 PM
 */

package javaapplication1;

/**
 *
 * @author detyler
 */
public class NewJFrame extends javax.swing.JFrame {

    /** Creates new form NewJFrame */
    public NewJFrame() {
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        openButton = new javax.swing.JButton();
        saveButton = new javax.swing.JButton();
        outputButton = new javax.swing.JButton();
        settingsButton = new javax.swing.JButton();
        searchButton = new javax.swing.JButton();
        doiField = new javax.swing.JTextField();
        publicationTypeDropDown = new javax.swing.JComboBox();
        jSeparator1 = new javax.swing.JSeparator();
        rimsIdLabel = new javax.swing.JLabel();
        rimsIdField = new javax.swing.JTextField();
        typeOfResearchLabel = new javax.swing.JLabel();
        qaBox = new javax.swing.JCheckBox();
        confidentialBox = new javax.swing.JCheckBox();
        jSeparator2 = new javax.swing.JSeparator();
        jScrollPane1 = new javax.swing.JScrollPane();
        authorsJList = new javax.swing.JList();
        setAuthorButton = new javax.swing.JButton();
        setSubmitterButton = new javax.swing.JButton();
        swapPanel = new javax.swing.JPanel();
        bookCard = new javax.swing.JPanel();
        bookTitleField = new javax.swing.JTextField();
        bookTitleLabel = new javax.swing.JLabel();
        publisherLabel = new javax.swing.JLabel();
        publisherField = new javax.swing.JTextField();
        bookUrlLabel = new javax.swing.JLabel();
        bookUrlField = new javax.swing.JTextField();
        bookEditionLabel = new javax.swing.JLabel();
        bookEditionField = new javax.swing.JTextField();
        bookPagesField = new javax.swing.JTextField();
        bookPagesLabel = new javax.swing.JLabel();
        bookDateLabel = new javax.swing.JLabel();
        bookDateField = new javax.swing.JTextField();
        bookIssnIsbnLabel = new javax.swing.JLabel();
        bookIssnIsbnField = new javax.swing.JTextField();
        placePubishedField = new javax.swing.JTextField();
        placePublishedLabel = new javax.swing.JLabel();
        bookEditorsField = new javax.swing.JTextField();
        bookEditorsLabel = new javax.swing.JLabel();
        conferenceCard = new javax.swing.JPanel();
        paperTitleLabel = new javax.swing.JLabel();
        paperTitleField = new javax.swing.JTextField();
        proceedingsLabel = new javax.swing.JLabel();
        proceedingsField = new javax.swing.JTextField();
        conferenceLocationLabel = new javax.swing.JLabel();
        conferenceLocationField = new javax.swing.JTextField();
        conferenceDatesLabel = new javax.swing.JLabel();
        conferenceUrlLabel = new javax.swing.JLabel();
        editorsLabel = new javax.swing.JLabel();
        conferenceEditorsField = new javax.swing.JTextField();
        conferenceDatesField = new javax.swing.JTextField();
        conferenceUrlField = new javax.swing.JTextField();
        conferenceIssnIsbnField = new javax.swing.JTextField();
        conferenceIssnIsbnLabel = new javax.swing.JLabel();
        conferenceDateField = new javax.swing.JTextField();
        conferenceDateLabel = new javax.swing.JLabel();
        conferencePagesLabel = new javax.swing.JLabel();
        conferencePagesField = new javax.swing.JTextField();
        conferenceEditionField = new javax.swing.JTextField();
        conferenceEditionLabel = new javax.swing.JLabel();
        journalCard = new javax.swing.JPanel();
        journalTitleLabel = new javax.swing.JLabel();
        articleTitleLabel = new javax.swing.JLabel();
        journalUrlLabel = new javax.swing.JLabel();
        journalEditionLabel = new javax.swing.JLabel();
        journalTitleField = new javax.swing.JTextField();
        articleTitleField = new javax.swing.JTextField();
        journalUrlField = new javax.swing.JTextField();
        journalPagesLabel = new javax.swing.JLabel();
        journalDateLabel = new javax.swing.JLabel();
        journalEditionField = new javax.swing.JTextField();
        journalPagesField = new javax.swing.JTextField();
        journalDateField = new javax.swing.JTextField();
        journalIssnIsbnLabel = new javax.swing.JLabel();
        journalVolumeLabel = new javax.swing.JLabel();
        journalNumberLabel = new javax.swing.JLabel();
        issnIsbnField = new javax.swing.JTextField();
        journalVolumeField = new javax.swing.JTextField();
        journalNumberField = new javax.swing.JTextField();
        descriptionLabel = new javax.swing.JLabel();
        jScrollPane2 = new javax.swing.JScrollPane();
        descriptionArea = new javax.swing.JTextArea();
        keywordsLabel = new javax.swing.JLabel();
        keywordsField = new javax.swing.JTextField();
        characterCountLabel = new javax.swing.JLabel();
        researchProfCommDropDown = new javax.swing.JComboBox();
        jSeparator3 = new javax.swing.JSeparator();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        openButton.setText("Open");

        saveButton.setText("Save");

        outputButton.setText("Output");

        settingsButton.setText("Settings");

        searchButton.setText("Search");

        publicationTypeDropDown.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Journal", "Book", "Conference" }));
        publicationTypeDropDown.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                String selectedType = (String)publicationTypeDropDown.getSelectedItem();
                if(currentPublication != null){
                    currentPublication.setPublicationType(selectedType);
                }
                setPublication(currentPublication);

                CardLayout c1 = (CardLayout) (swapPanel.getLayout());
                if(selectedType.equals("Journal")){
                    c1.show(swapPanel, "journalCard");
                }
                else if(selectedType.equals("Book")){
                    c1.show(swapPanel, "bookCard");
                }
                else if(selectedType.equals("Conference")){
                    c1.show(swapPanel, "conferenceCard");
                }
            }
        });

        rimsIdLabel.setText("RIMS ID:");

        typeOfResearchLabel.setText("Type of Research:");

        qaBox.setText("Quality Assured");

        confidentialBox.setText("Confidential");

        jScrollPane1.setViewportView(authorsJList);

        setAuthorButton.setText("Set Author");

        setSubmitterButton.setText("Set Submitter");

        swapPanel.setLayout(new java.awt.CardLayout());

        bookTitleLabel.setText("Book Title:");

        publisherLabel.setText("Publisher:");

        bookUrlLabel.setText("URL:");

        bookEditionLabel.setText("Edition:");

        bookPagesLabel.setText("Pages:");

        bookDateLabel.setText("Date:");

        bookIssnIsbnLabel.setText("ISSN/ISBN:");

        placePublishedLabel.setText("Place Published:");

        bookEditorsLabel.setText("Editors:");

        javax.swing.GroupLayout bookCardLayout = new javax.swing.GroupLayout(bookCard);
        bookCard.setLayout(bookCardLayout);
        bookCardLayout.setHorizontalGroup(
            bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(bookCardLayout.createSequentialGroup()
                .addGroup(bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(bookTitleLabel)
                    .addComponent(publisherLabel)
                    .addComponent(placePublishedLabel)
                    .addComponent(bookUrlLabel)
                    .addComponent(bookEditorsLabel)
                    .addComponent(bookEditionLabel)
                    .addComponent(bookIssnIsbnLabel))
                .addGap(78, 78, 78)
                .addGroup(bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, bookCardLayout.createSequentialGroup()
                        .addGroup(bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(bookIssnIsbnField, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(bookEditionField, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(bookPagesLabel)
                            .addComponent(bookDateLabel))
                        .addGap(18, 18, 18)
                        .addGroup(bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(bookDateField)
                            .addComponent(bookPagesField, javax.swing.GroupLayout.DEFAULT_SIZE, 87, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 239, Short.MAX_VALUE))
                    .addComponent(bookTitleField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 487, Short.MAX_VALUE)
                    .addComponent(publisherField, javax.swing.GroupLayout.DEFAULT_SIZE, 487, Short.MAX_VALUE)
                    .addComponent(placePubishedField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 487, Short.MAX_VALUE)
                    .addComponent(bookEditorsField, javax.swing.GroupLayout.DEFAULT_SIZE, 487, Short.MAX_VALUE)
                    .addComponent(bookUrlField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 487, Short.MAX_VALUE))
                .addContainerGap())
        );
        bookCardLayout.setVerticalGroup(
            bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(bookCardLayout.createSequentialGroup()
                .addGroup(bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(bookTitleField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(bookTitleLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(publisherField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(publisherLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(placePubishedField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(placePublishedLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(bookUrlField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(bookUrlLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(bookEditorsField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(bookEditorsLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(bookPagesField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(bookEditionField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(bookPagesLabel)
                        .addComponent(bookEditionLabel)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(bookDateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(bookCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(bookIssnIsbnLabel)
                        .addComponent(bookIssnIsbnField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(bookDateLabel)))
                .addGap(73, 73, 73))
        );

        swapPanel.add(bookCard, "bookCard");

        paperTitleLabel.setText("Paper Title:");

        proceedingsLabel.setText("Proceedings Title:");

        conferenceLocationLabel.setText("Conference Location:");

        conferenceDatesLabel.setText("Conference Dates:");

        conferenceUrlLabel.setText("URL:");

        editorsLabel.setText("Editors:");

        conferenceIssnIsbnLabel.setText("ISSN/ISBN:");

        conferenceDateLabel.setText("Date:");

        conferencePagesLabel.setText("Pages:");

        conferenceEditionLabel.setText("Edition:");

        javax.swing.GroupLayout conferenceCardLayout = new javax.swing.GroupLayout(conferenceCard);
        conferenceCard.setLayout(conferenceCardLayout);
        conferenceCardLayout.setHorizontalGroup(
            conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(conferenceCardLayout.createSequentialGroup()
                .addGroup(conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(paperTitleLabel)
                    .addComponent(proceedingsLabel)
                    .addComponent(conferenceLocationLabel)
                    .addComponent(conferenceDatesLabel)
                    .addComponent(conferenceUrlLabel)
                    .addComponent(editorsLabel)
                    .addComponent(conferenceEditionLabel)
                    .addComponent(conferenceIssnIsbnLabel))
                .addGap(32, 32, 32)
                .addGroup(conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, conferenceCardLayout.createSequentialGroup()
                        .addGroup(conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(conferenceIssnIsbnField)
                            .addComponent(conferenceEditionField, javax.swing.GroupLayout.DEFAULT_SIZE, 128, Short.MAX_VALUE))
                        .addGap(18, 18, 18)
                        .addGroup(conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(conferencePagesLabel)
                            .addComponent(conferenceDateLabel))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(conferenceDateField)
                            .addComponent(conferencePagesField, javax.swing.GroupLayout.DEFAULT_SIZE, 116, Short.MAX_VALUE)))
                    .addComponent(paperTitleField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 497, Short.MAX_VALUE)
                    .addComponent(proceedingsField, javax.swing.GroupLayout.DEFAULT_SIZE, 497, Short.MAX_VALUE)
                    .addComponent(conferenceLocationField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 497, Short.MAX_VALUE)
                    .addComponent(conferenceDatesField, javax.swing.GroupLayout.DEFAULT_SIZE, 497, Short.MAX_VALUE)
                    .addComponent(conferenceUrlField, javax.swing.GroupLayout.DEFAULT_SIZE, 497, Short.MAX_VALUE)
                    .addComponent(conferenceEditorsField, javax.swing.GroupLayout.DEFAULT_SIZE, 497, Short.MAX_VALUE))
                .addContainerGap())
        );
        conferenceCardLayout.setVerticalGroup(
            conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(conferenceCardLayout.createSequentialGroup()
                .addGroup(conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(paperTitleField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(paperTitleLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(proceedingsField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(proceedingsLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(conferenceLocationField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(conferenceLocationLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(conferenceDatesField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(conferenceDatesLabel, 0, 0, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(conferenceUrlField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(conferenceUrlLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(conferenceEditorsField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(editorsLabel))
                .addGroup(conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(conferenceCardLayout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(conferenceEditionField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(conferencePagesLabel)
                            .addComponent(conferenceEditionLabel))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(conferenceCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(conferenceIssnIsbnField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(conferenceDateLabel)
                            .addComponent(conferenceIssnIsbnLabel)))
                    .addGroup(conferenceCardLayout.createSequentialGroup()
                        .addGap(6, 6, 6)
                        .addComponent(conferencePagesField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(conferenceDateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(47, Short.MAX_VALUE))
        );

        swapPanel.add(conferenceCard, "conferenceCard");

        journalTitleLabel.setText("Journal Title:");

        articleTitleLabel.setText("Article Title:");

        journalUrlLabel.setText("URL:");

        journalEditionLabel.setText("Edition:");

        journalPagesLabel.setText("Pages:");

        journalDateLabel.setText("Date:");

        journalIssnIsbnLabel.setText("ISSN/ISBN:");

        journalVolumeLabel.setText("Volume:");

        journalNumberLabel.setText("Number:");

        javax.swing.GroupLayout journalCardLayout = new javax.swing.GroupLayout(journalCard);
        journalCard.setLayout(journalCardLayout);
        journalCardLayout.setHorizontalGroup(
            journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(journalCardLayout.createSequentialGroup()
                .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(journalCardLayout.createSequentialGroup()
                        .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(journalCardLayout.createSequentialGroup()
                                .addGap(2, 2, 2)
                                .addComponent(journalIssnIsbnLabel))
                            .addComponent(journalEditionLabel))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(issnIsbnField)
                            .addComponent(journalEditionField, javax.swing.GroupLayout.DEFAULT_SIZE, 119, Short.MAX_VALUE))
                        .addGap(18, 18, 18)
                        .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(journalPagesLabel)
                            .addComponent(journalVolumeLabel))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(journalPagesField, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
                            .addComponent(journalVolumeField, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE))
                        .addGap(18, 18, 18)
                        .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, journalCardLayout.createSequentialGroup()
                                .addComponent(journalNumberLabel)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(journalNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, 157, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, journalCardLayout.createSequentialGroup()
                                .addComponent(journalDateLabel)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(journalDateField, javax.swing.GroupLayout.PREFERRED_SIZE, 157, javax.swing.GroupLayout.PREFERRED_SIZE))))
                    .addGroup(journalCardLayout.createSequentialGroup()
                        .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(articleTitleLabel)
                            .addComponent(journalUrlLabel)
                            .addComponent(journalTitleLabel))
                        .addGap(5, 5, 5)
                        .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(journalTitleField, javax.swing.GroupLayout.DEFAULT_SIZE, 565, Short.MAX_VALUE)
                            .addComponent(journalUrlField, javax.swing.GroupLayout.DEFAULT_SIZE, 565, Short.MAX_VALUE)
                            .addComponent(articleTitleField, javax.swing.GroupLayout.DEFAULT_SIZE, 565, Short.MAX_VALUE))))
                .addContainerGap())
        );
        journalCardLayout.setVerticalGroup(
            journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(journalCardLayout.createSequentialGroup()
                .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(journalTitleLabel)
                    .addComponent(journalTitleField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(articleTitleLabel)
                    .addComponent(articleTitleField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(journalUrlLabel)
                    .addComponent(journalUrlField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(journalCardLayout.createSequentialGroup()
                        .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(journalEditionLabel)
                            .addComponent(journalEditionField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(journalDateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(journalDateLabel))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(issnIsbnField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(journalNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(journalNumberLabel)
                            .addComponent(journalIssnIsbnLabel)))
                    .addGroup(journalCardLayout.createSequentialGroup()
                        .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(journalPagesField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(journalPagesLabel))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(journalCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(journalVolumeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(journalVolumeLabel))))
                .addContainerGap(105, Short.MAX_VALUE))
        );

        swapPanel.add(journalCard, "journalCard");

        descriptionLabel.setText("Description:");

        descriptionArea.setColumns(20);
        descriptionArea.setLineWrap(true);
        descriptionArea.setRows(5);
        jScrollPane2.setViewportView(descriptionArea);

        keywordsLabel.setText("Keywords:");

        characterCountLabel.setText("0");

        researchProfCommDropDown.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Research", "Professional/Community" }));

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(swapPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 642, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jSeparator3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 632, Short.MAX_VALUE)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(openButton, javax.swing.GroupLayout.PREFERRED_SIZE, 151, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(saveButton, javax.swing.GroupLayout.DEFAULT_SIZE, 162, Short.MAX_VALUE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(outputButton, javax.swing.GroupLayout.PREFERRED_SIZE, 148, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(settingsButton, javax.swing.GroupLayout.PREFERRED_SIZE, 153, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jSeparator2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 632, Short.MAX_VALUE)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addGroup(layout.createSequentialGroup()
                                        .addComponent(rimsIdLabel)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(rimsIdField, javax.swing.GroupLayout.PREFERRED_SIZE, 278, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(layout.createSequentialGroup()
                                        .addComponent(typeOfResearchLabel)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(researchProfCommDropDown, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                                .addGap(26, 26, 26)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(qaBox)
                                    .addComponent(confidentialBox)))
                            .addComponent(jSeparator1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 632, Short.MAX_VALUE)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                .addComponent(doiField, javax.swing.GroupLayout.PREFERRED_SIZE, 348, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(publicationTypeDropDown, 0, 151, Short.MAX_VALUE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(searchButton, javax.swing.GroupLayout.DEFAULT_SIZE, 121, Short.MAX_VALUE))
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(setSubmitterButton, javax.swing.GroupLayout.DEFAULT_SIZE, 116, Short.MAX_VALUE)
                                    .addComponent(setAuthorButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 116, Short.MAX_VALUE))
                                .addGap(18, 18, 18)
                                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 498, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addContainerGap())
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(characterCountLabel)
                                .addComponent(descriptionLabel))
                            .addComponent(keywordsLabel))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(keywordsField, javax.swing.GroupLayout.DEFAULT_SIZE, 565, Short.MAX_VALUE)
                            .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 565, Short.MAX_VALUE))
                        .addContainerGap())))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(openButton)
                    .addComponent(settingsButton)
                    .addComponent(outputButton)
                    .addComponent(saveButton))
                .addGap(11, 11, 11)
                .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(doiField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(searchButton)
                    .addComponent(publicationTypeDropDown, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(rimsIdLabel)
                    .addComponent(rimsIdField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(qaBox))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(typeOfResearchLabel)
                    .addComponent(confidentialBox)
                    .addComponent(researchProfCommDropDown, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(setAuthorButton)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(setSubmitterButton))
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(swapPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 249, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(11, 11, 11)
                        .addComponent(descriptionLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(characterCountLabel))
                    .addGroup(layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(keywordsField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(keywordsLabel))
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JTextField articleTitleField;
    private javax.swing.JLabel articleTitleLabel;
    private javax.swing.JList authorsJList;
    private javax.swing.JPanel bookCard;
    private javax.swing.JTextField bookDateField;
    private javax.swing.JLabel bookDateLabel;
    private javax.swing.JTextField bookEditionField;
    private javax.swing.JLabel bookEditionLabel;
    private javax.swing.JTextField bookEditorsField;
    private javax.swing.JLabel bookEditorsLabel;
    private javax.swing.JTextField bookIssnIsbnField;
    private javax.swing.JLabel bookIssnIsbnLabel;
    private javax.swing.JTextField bookPagesField;
    private javax.swing.JLabel bookPagesLabel;
    private javax.swing.JTextField bookTitleField;
    private javax.swing.JLabel bookTitleLabel;
    private javax.swing.JTextField bookUrlField;
    private javax.swing.JLabel bookUrlLabel;
    private javax.swing.JLabel characterCountLabel;
    private javax.swing.JPanel conferenceCard;
    private javax.swing.JTextField conferenceDateField;
    private javax.swing.JLabel conferenceDateLabel;
    private javax.swing.JTextField conferenceDatesField;
    private javax.swing.JLabel conferenceDatesLabel;
    private javax.swing.JTextField conferenceEditionField;
    private javax.swing.JLabel conferenceEditionLabel;
    private javax.swing.JTextField conferenceEditorsField;
    private javax.swing.JTextField conferenceIssnIsbnField;
    private javax.swing.JLabel conferenceIssnIsbnLabel;
    private javax.swing.JTextField conferenceLocationField;
    private javax.swing.JLabel conferenceLocationLabel;
    private javax.swing.JTextField conferencePagesField;
    private javax.swing.JLabel conferencePagesLabel;
    private javax.swing.JTextField conferenceUrlField;
    private javax.swing.JLabel conferenceUrlLabel;
    private javax.swing.JCheckBox confidentialBox;
    private javax.swing.JTextArea descriptionArea;
    private javax.swing.JLabel descriptionLabel;
    private javax.swing.JTextField doiField;
    private javax.swing.JLabel editorsLabel;
    private javax.swing.JTextField issnIsbnField;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JSeparator jSeparator2;
    private javax.swing.JSeparator jSeparator3;
    private javax.swing.JPanel journalCard;
    private javax.swing.JTextField journalDateField;
    private javax.swing.JLabel journalDateLabel;
    private javax.swing.JTextField journalEditionField;
    private javax.swing.JLabel journalEditionLabel;
    private javax.swing.JLabel journalIssnIsbnLabel;
    private javax.swing.JTextField journalNumberField;
    private javax.swing.JLabel journalNumberLabel;
    private javax.swing.JTextField journalPagesField;
    private javax.swing.JLabel journalPagesLabel;
    private javax.swing.JTextField journalTitleField;
    private javax.swing.JLabel journalTitleLabel;
    private javax.swing.JTextField journalUrlField;
    private javax.swing.JLabel journalUrlLabel;
    private javax.swing.JTextField journalVolumeField;
    private javax.swing.JLabel journalVolumeLabel;
    private javax.swing.JTextField keywordsField;
    private javax.swing.JLabel keywordsLabel;
    private javax.swing.JButton openButton;
    private javax.swing.JButton outputButton;
    private javax.swing.JTextField paperTitleField;
    private javax.swing.JLabel paperTitleLabel;
    private javax.swing.JTextField placePubishedField;
    private javax.swing.JLabel placePublishedLabel;
    private javax.swing.JTextField proceedingsField;
    private javax.swing.JLabel proceedingsLabel;
    private javax.swing.JComboBox publicationTypeDropDown;
    private javax.swing.JTextField publisherField;
    private javax.swing.JLabel publisherLabel;
    private javax.swing.JCheckBox qaBox;
    private javax.swing.JComboBox researchProfCommDropDown;
    private javax.swing.JTextField rimsIdField;
    private javax.swing.JLabel rimsIdLabel;
    private javax.swing.JButton saveButton;
    private javax.swing.JButton searchButton;
    private javax.swing.JButton setAuthorButton;
    private javax.swing.JButton setSubmitterButton;
    private javax.swing.JButton settingsButton;
    private javax.swing.JPanel swapPanel;
    private javax.swing.JLabel typeOfResearchLabel;
    // End of variables declaration//GEN-END:variables

}
